package cn.wolfcode.trip.base.service;

import cn.wolfcode.trip.base.domain.Travel;
import cn.wolfcode.trip.base.query.QueryObject;
import cn.wolfcode.trip.base.query.TravelQueryObject;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;


public interface ITravelService {


    /**
     * 更新操作
     * @param travel
     */
    void update(Travel travel);

    /**
     * 保存操作
     * @param travel
     */
    void save(Travel travel);

    /**
     * 查询某个用户的游记
     * @param id
     */
    Travel get(Long id);

    /**
     * 所有的游记
     */
    List<Travel> listAll();

    /**
     * 分页及排序
     * @param qo
     * @return
     */
    PageInfo<Travel> query(QueryObject qo);

    /**
     * 改变状态
     * @param travel 游记的id+state
     */
    void changeState(Travel travel);

    Travel getById(Long id);



    /**
     * 搜索游记
     * @param qo
     * @return
     */
    PageInfo getTraversCounts(TravelQueryObject qo);
}
